dxp-ux
e-bill ( TMF 622 , TMF 666)
POST/ProductOrder, PATCH/billingAccount/id resources is used to turn On or Off e-bill entity.
URL
https://[localhost]:[port]/dxp-ux/v1/{businessId}/productOrder
https://[localhost]:[port]/dxp-ux/v1/{businessId}/billingAccount/{id} Fixed integration
https://[localhost]:[port]/dxp-ux/v1/{businessId}/billingAccount/{id} towards Salesforce integration
URI PARAMS
Name | Type | M/O | Description |
---|---|---|---|
businessId | string | M | businessId string M Business unit identifier. Example: “JM”, ”PA”, ”PR”, ”CR” |
Id | String | M | orderId of the customer |
Header
name | value | description | required |
---|---|---|---|
client-id | string | The client_id identifying the channel. Minimum characters: 5 | Y |
client-secret | string | Password associated with the client_id. Minimum characters: 5 | Y |
channelId | string | channelId to identify the business group. Expected APP | Y |
lob | string | The Line of Business Identifier currently available are:PREPAID, POSTPAID,FIXED | N |
Request
Note If the customer need to enable paper bill (disable ebill), in the request productOrderItem.action need to be pass as add and if need to disable the paper bill(enable ebill) pass productOrderItem.action as delete
{
"category": "RES",
"@type": "ProductOrder",
"note": [
{
"text": "NT",
"@type": "OrderReasonCode"
},
{
"text": "ECO",
"@type": "CampaignCode"
}
],
"relatedParty": [
{
"id": "1901502677899",
"name": "CARLEY BURKE",
"@referredType": "Customer"
}
],
"billingAccount":
{
"id": "8211990010042406",
"@type": "BillingAccount"
},
"productOrderItem": [
{
"id": "ZMPBI",
"quantity": 1,
"action": "add",
"product": {
"id": "ZMPBI",
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "ServiceType",
"valueType": "string",
"value": "NU"
}
]
},
"@type": "AddonProduct"
}
],
"orderCharacteristics": {
"salesRepId": "54321"
},
"serviceAddress": {
"addrNo": "00622000000001"
}
}
Definitions
Each of the parameters is detailed.
name | type | description | required |
---|---|---|---|
category | String | Used to categorize the order from a business perspective that can be useful for the OM system (e.g. "enterprise", "residential", ...). | N |
@type | String | type value defined as ProductOrder | N |
note | array | Extra information about a given entity | N |
note.text | String | Text of the note. | N |
note.@type | String | Defines type as OrderReasonCode and default value is 'NT' | N |
note.text | String | Text of the note. | N |
note.@type | String | Defines type as CampaignCode and default value is 'ECO. | N |
relatedParty | array | Related Entity reference. A related party defines party or party role linked to a specific entity. | N |
relatedParty.id | String | Unique identifier Id of the related entity. | N |
relatedParty.name | String | Name of the related entity.. | N |
relatedParty@referredType | String | The actual type of the target instance when needed for disambiguation. | Y |
billingAccount | array | ||
billingAccount.id | String | Unique identifier Id of the EntityRef | N |
billingAccount.@type | String | When sub-classing, this defines the sub-class entity name | N |
productOrderItem.id | String | Identifier of the line item (generally it is a sequence number 01, 02, 03...) | Y |
productOrderItem.quantity | Int32 | Quantity ordered. | N |
productOrderItem.action | String | The action is used to ON or OFF eBill. Can be: add, delete. | Y |
productOrderItem.product | Object Array | A product to be created defined by value or existing defined by reference. | N |
productOrderItem.product.id | String | Unique identifier of the product. | N |
productOrderItem.product.isBundle | Boolean | If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering | N |
productOrderItem.product.@type | String | When sub-classing, this defines the sub-class entity name | N |
productOrderItem.product.productCharacteristic | Object Array | Describes a given characteristic of an object or entity through a name/value pair. | N |
productOrderItem.product.productCharacteristic.name | String | Name of the characteristic | Y |
productOrderItem.product.productCharacteristic.valueType | String | Data type of the value of the characteristic | N |
productOrderItem.product.productCharacteristic.value | any | The value of the characteristic | N |
productOrderItem.product.productCharacteristic.@type | String | When sub-classing, this defines the sub-class entity name | N |
Status | string | enum: - acknowledged | N |
Response
{
"category": "RES",
"@type": "ProductOrder",
"note": [
{
"text": "NT",
"@type": "OrderReasonCode"
},
{
"text": "ECO",
"@type": "CampaignCode"
}
],
"relatedParty": [
{
"id": "1901502677899",
"name": "CARLEY BURKE",
"@referredType": "Customer"
}
],
"billingAccount": {
"id": "8211990010042406",
"@type": "BillingAccount"
},
"productOrderItem": [
{
"id": "ZMPBI",
"quantity": 1,
"action": "add",
"product": {
"id": "ZMPBI",
"isBundle": false,
"@type": "Product",
"productCharacteristic": [
{
"name": "ServiceType",
"valueType": "string",
"value": "NU"
}
]
},
"@type": "AddonProduct"
}
],
"orderCharacteristics": {
"salesRepId": "54321"
},
"serviceAddress": {
"addrNo": "00622000000001"
},
"state": "acknowledged"
}
PATCH/billingAccount/id
[ 200 ] FIXED
OK - updateBillingAccount request processed successfully, response body contains an entity corresponding to the requested resource.
Request
{
"billStructure": {
"presentationMedia": [
{
"name": "email"
}
]
}
}
Response
{
"id": "8211990010042315",
"state": "acknowledged",
"billStructure": {
"presentationMedia": [
{
"name": "email"
}
]
}
}
FIXED Definitions
name | value | description | required |
---|---|---|---|
id | string | unique identifier | Y |
state | string | state of the operation | Y |
billStructure | Object | bill structure object | Y |
billStructure.presentationMedia | Array | details of presentation media. | Y |
billStructure.presentationMedia.name | String | Name of the referred entity.Possible values are | Y |
Enable Ebill towards Salesforce PATCH: /billingAccount/id
URI PARAMS
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR, CR etc.) identifying the business unit. | Y |
Id | string | billing account number (BAN-CAN) | Y |
Header
name | value | description | required |
---|---|---|---|
client-id | string | The client_id identifying the channel. Minimum characters: 5 | Y |
client-secret | string | Password associated with the client_id. Minimum characters: 5 | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
Request
curl --location --request PATCH 'https://nonprod.esb.cloud.lla.com/sit/dxp-ux/dxp-ux/v1/PR/billingAccount/23541002-23542358' \
--header 'X-Correlation-ID: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2gk' \
--header 'client_id: xxx' \
--header 'client_secret: yyy' \
--header 'Content-Type: application/json' \
--data-raw '{
"relatedParty": [
{
"id": "12218008837",
"@type": "msisdn"
},
{
"@type": "CHANNEL",
"name": "DIGITAL"
}
],
"billStructure": {
"presentationMedia": [
{
"@type": "non-eBill"
}
]
}
}'
Definitions
name | value | description | required |
---|---|---|---|
relatedParty | sarray | A list of related parties | Y |
relatedParty.id | string | Unique identifier of a related entity | Y |
relatedParty.name | string | Name of the related entity. | Y |
relatedParty.@type | string | Type of relatedParty | Y |
billStructure | object | A bill structure | Y |
billStructure.presentationMedia | array | A list of bill presentation media ref or values | Y |
billStructure.presentationMedia.@type | string | eBill Flag indicator, either non-eBill / eBill | Y |
relatedParty values
name | value (length) | description | required |
---|---|---|---|
msisdn | string (20) | Mobile Device number | N |
CHANNEL | string (20) | Source System information for tracking purpose: possible values are IVR/Digital | Y |
Response
In this section all the possible data structures received by the client at the moment of responding the method are defined.
Possible response success
This section defines all the possible data structures received by the client and that must be considered satisfactory at the time of responding to the method.
[ 200 ]
OK - updateBillingAccount request processed successfully, response body contains an entity corresponding to the requested resource.
{
"status": 200,
"description": "Request to update the Ebill Flag received"
}
Definitions
name | value | description | required |
---|---|---|---|
status | string | response status code | N |
description | string | response message | N |
Possible response error
In this section all the possible data structures received by the client are defined and that must be considered as unsatisfactory when responding to the method.
[ 400 ]
Bad Request - the request could not be understood by the server due to invalid OrderId of the customer.
{
"errors": [
{
"code": 400,
"message": "ERROR:INVALIDID",
"description": "OrderId for the Customer does not exist 1200034465921019"
}
]
}
[ 404 ]
Not Found - server has not found a resource with that URI. This may be temporary and permanent condition. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.
{
"errors" : [{
"code" : 404,
"message" : "The primary device not found in the backend system",
"description" : "The requested operation failed because the primary device in the backend system could not be found."
}
]
}
[ 500 ]
Internal Server Error - server encountered an error processing request. This should not happen normally, but it is a generic error message, given when no more specific message is suitable.
{
"errors" : [{
"code" : 500,
"message" : "The request failed due to an internal error.",
"description": "error description"
}
]
}